למצוא את הבעיה בקוד נתון (משחקים עם פוינטרים ושחרור זכרון).
להבין קטע קוד שכתוב כולו במקרו וגם לעשות על זה שינוי ולכתוב את זה במקרו.
לבסוף לכתוב תוכנית (בלפטופ) שעושה משחקים עם ביטים (bit manipulations) ואז לחשוב איך לייעל אותה (לחשב מראש את כל ההמרות ולאכסן אותם במערך).
טלפון מHR. קובעים ראיון. לא עברתי את הראיון הראשון אז לא יודע יותר מזה.
שאלות מתוך הראיון
url decoder:
פונקציה מקבלת מחרוזת url עם אותיות ומספרים. בכל פעם שהיא נתקלת לדוגמא %32, היא צריכה להפוך את הצירוף הזה לאות ASCII. המחרוזת עלולה להכיל כמה וכמה צירופים כאלה, והם יכולים להיות גם מוכלים אחד בשני.
דוגמאות:
ab%2fcd ---> ab/cd
ab%%32fcd--->ab%2fcd-->ab/cd
ab%2%66cd--->ab%2fcd--->ab/cd
ab%%32%66cd--->ab/cd
וכו'.
הפונקציות שממומשות הן פונקית main ששולחת מחרוזת לפונקציה, ורוצה לקבל את המחרוזת החדשה.
כמו כן אתה מקבל פונקציה שמקבלת מחרוזת ומחליטה האם היא בצורה של %xy כאשר x,y הם מספרים הקסדצימליים. כמו כן מקבלים פונקצית שמקבלת מחרוזת שבנויה בצורת של %xy ומחזירה את המקבילה של הביטוי בASCII.
המגבלות שנתנו לפיתרון השאלה: אפשר להשתמש במשתני עזר, אבל יש לפתור את השאלה ב"מעבר אחד על המחרוזת" ולסדר אותה תוך כדי. כלומר, אין הכוונה להשתמש במחרוזת חדשה שאליה כותבים את המחרוזת ה"מתוקנת"..
את הקוד צריך לכתוב לתוך התכנית ולקמפל ממש. כלומר, הפיתרון אינו תיאורטי או בכתב יד אלא ממש צריך לעבוד.
תשובות
הוסף תשובה
|
לצפיה בתשובות
נובמבר 2016
ריצה מהסוף להתחלה עם 2 פויטרים שאחד קורא ואחד כותב... בסוף המחרוזת הסופית נמצאת בסוף המחרוזת. לא הצלחתי להגיע לסוף דעתו של הבוחן.
יש לציין שרמת הדיוק צריכה להיות גבוהה, שכן הקוד נכתב במחשב וצריך להתקמפל ולעבוד.